//步骤1：导包 import java.util.Scanner;

import java.util.Scanner;

/**
 * ClassName: ScannerTest
 * Package: PACKAGE_NAME
 * Description:如何从键盘获取不同类型（基本数据类型、String类型）的变量：使用Scanner类。
 * 1. 使用Scanner获取不同类型数据的步骤
 * 步骤1：导包 import java.util.Scanner;
 * 步骤2：提供（或创建）一个Scanner类的实例
 * 步骤3：调用Scanner类中的方法，获取指定类型的变量 (nextXxx())
 * 步骤4：关闭资源，调用Scanner类的close()
 * 2. 案例：小明注册某交友网站，要求录入个人相关信息。如下：
 * 请输入你的网名、你的年龄、你的体重、你是否单身、你的性别等情况。
 * 3. Scanner类中提供了获取byte \ short \ int \ long \float \double \boolean \ String类型变量的方法。
 * 注意，没有提供获取char类型变量的方法。需要使用next().charAt(0)
 *
 * @Author 糕糕
 * @Create 2024-01-23 10:30
 * @Version 1.0
 */

public class ScannerTest {
    public static void main(String[] args) {

        //步骤2：提供（或创建）一个Scanner类的实例
        Scanner scan = new Scanner(System.in);

        System.out.println("欢迎光临你来我往交友网");
        System.out.print("请输入你的网名：");
        //步骤3：调用Scanner类中的方法，获取指定类型的变量
        String name = scan.next();

        System.out.print("请输入你的年龄：");
        int age = scan.nextInt();

        System.out.print("请输入你的体重：");
        double weight = scan.nextDouble();


        System.out.print("你是否单身（单身：true;不单身：false）：");
        boolean isSingle = scan.nextBoolean();

        System.out.print("请输入你的性别(男\\女)：");
        char gender = scan.next().charAt(0);

        System.out.println("网名：" + name + ",年龄: " + age + ",体重：" + weight + ",是否单身：" + isSingle +
                ",性别：" + gender);

        System.out.println("注册完成，欢迎继续进入体验！");

        //步骤4：关闭资源，调用Scanner类的close()
        scan.close();
    }

}

/*
大家都知道，男大当婚，女大当嫁。那么女方家长要嫁女儿，当然要提出一定的条件：高：180cm以上；富：财富1千万以上；帅：是。

如果这三个条件同时满足，则：“我一定要嫁给他!!!”
如果三个条件有为真的情况，则：“嫁吧，比上不足，比下有余。”
如果三个条件都不满足，则：“不嫁！”*/
class ScannerExercise {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("身高: (cm)");
        double height = scan.nextDouble();

        System.out.println("财富: (千万)");
        double money = scan.nextDouble();

        System.out.println("帅否: (true/false)");
        boolean handsome = scan.nextBoolean();
        if (height >= 180 && money >= 1 && handsome) {
            System.out.println("高富帅");
        } else if (height >= 180 || money >= 1 || handsome) {
            System.out.println("高富帅占一个");
        } else {
            System.out.println("继续努力，未来可期");
        }

        scan.close();
    }

}

/*我家的狗5岁了，5岁的狗相当于人类多大呢？
其实，狗的前两年每一年相当于人类的10.5岁，之后每增加一年就增加四岁。
那么5岁的狗相当于人类多少年龄呢？应该是：10.5 + 10.5 + 4 + 4 + 4 = 33岁。
编写一个程序，获取用户输入的狗的年龄，通过程序显示其相当于人类的年龄。如果用户输入负数，请显示一个提示信息。*/
class ScannerExercise1 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("请输入狗狗的年龄：");
        int dogAge = scan.nextInt();

        //通过分支语句，判断狗狗相当于人的年龄
        if (dogAge < 0) {
            System.out.println("你输入的狗狗的年龄不合法");
        } else if (dogAge <= 2) {
            System.out.println("相当于人的年龄：" + (dogAge * 10.5));
        } else {
            System.out.println("相当于人的年龄：" + (2 * 10.5 + (dogAge - 2) * 4));
        }

        //关闭资源
        scan.close();

    }
}